Determining the print path of a printing device

ABSTRACT

System and methods are disclosed for determining the print path of a printer to facilitate manual duplexing. The method includes instructing a printing device to print a first object on a first side of a test sheet and then instructing a user to reinsert the test sheet in the printing device. The printing device is then instructed to print a second object on the test sheet. The user can further provide information indicating a location of the second object with respect to the first object. Based on the information, the printing path of the printer is determined.

BACKGROUND

Most low-cost printers do not include the hardware feature to print onboth sides of a sheet of paper. This feature is often known as automaticduplexing. Some types of print output, such as booklet printing, requirethat the print output is on both sides of the paper. Other times a usermay desire to print double sided for a variety of reasons, such asenvironmental or economical based reasons. In order to achieve doublesided printing where automatic duplexing is not available, manualduplexing can be performed. Manual duplexing prints first on one side ofthe pages, then asks the user to reinsert the paper to print theopposite side. However, the problem for software when configuring amanual double sided print job is that the device print path must beknown.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example non-limiting high level block diagram of asystem for determining the printing path of a printer in accordance withvarious aspects and implementations described herein.

FIG. 2 illustrates an example non-limiting test page printouts andrelated information in accordance with one or more aspects fordetermining a printing path of a printer in accordance with variousaspects and implementations described herein.

FIG. 3 illustrates another example non-limiting another high level blockdiagram of a system for determining the printing path of a printer inaccordance with various aspects and implementations described herein.

FIG. 4 presents an example methodology for determining the printing pathof a printer in accordance with various aspects and implementationsdescribed herein.

FIG. 5 presents another example methodology for determining a printingpath of a printer and instructing a user how to perform manual duplexingin association therewith in accordance with various aspects andimplementations described herein.

DETAILED DESCRIPTION

One or more implementations of the present disclosure are described withreference to the attached drawings, wherein like reference numerals areused to refer to like elements throughout. Disclosed are systems andmethods for determining the printing path of a printer so that a usercan manually perform double sided printing jobs with the printer. Inorder to configure a manual double sided print job, the software mustknow whether the printed pages will come out face up, or face down,whether the printed pages should be placed into loading the tray of theprinter print side up or print side down, and finally whether theprinter inverts the printout.

One solution to the above noted problem includes using a printer driverto perform manual duplexing. However, print drivers are only effectivewhen the user has installed a sophisticated print driver that performsmanual duplexing at the user's computing device. Nevertheless, manyusers no longer install full featured drivers, or use operating systemsthat do not have printer drivers that support manual duplexing.Furthermore, printing software may be located on a website or webapplication rather than a user's personal computer.

Provided herein are various non-limiting aspects for determining adevice print path so that printing software can correctly render pagesand instruct a user in association with performing manual duplexing.This allows the printing software to correctly render front and backpages in the correct order and direction for easy manual duplexing bythe user. The method reduces or eliminates the need for complex driversto determine the printing path of the printer or a database that storesprinting paths for a plurality of networked printers.

The method involves instructing a user/printer to print a test pagecomprising four boxes in respective corners of the test page andinstructing the user to reinsert the test page into the printer. Themethod further includes instructing the user/printer to print an objecton the test page after being reinserted. The method then requests theuser/printer to provide information indicating the location of theobject with respect to the four boxes. In response to receipt of theinformation, the printing path of the printer is determined. Theprinting path can further be employed by various systems to facilitatedouble sided printing at the printer.

In particular, duplex printing and manual duplex printing, includingsupporting software to print all the odd sides, that instruct the userto reload the copies, then print all the even sides, are existingtechnologies. Some of these technologies are application based and workonly with a particular application. Other methods are more general, butare still platform- and operating system-dependent. For example, thesemethods capture a user's job from the Windows operating system and thenuse Windows-specific software involving a print dialog box to print onlyodd pages or even pages, thus enabling the job to be manually duplexprinted if the paper is properly reoriented manually between the twoprintings.

The subject method and systems further provide a platform-independentsystem and method for manual duplex printing that clearly identifies themanual duplex printing capabilities of a printer and removes theguesswork from reorientation of the paper printed on a first side whenreloading for second side printing. In particular, in variousembodiments, print path discovery is performed at a cloud deployedserver where the server is not directly connected to the users printer.Rather, a user interacts with a print path discovery server via abrowser at a client device that connects to the printer. The cloud basedserver is responsible for rendering the print job and determining how torender the two parts of the job so that it results in a properlyformatted duplex job.

Referring now to the drawings, with reference initially to FIG. 1,presented is an exemplary high level block diagram of a system 100 fordetermining the printing path of a printer. Aspects of the systems,apparatuses or processes explained herein can constitutemachine-executable components embodied within machine(s), e.g., embodiedin one or more computer readable mediums (or media) associated with oneor more machines. Such components, when executed by the one or moremachines, e.g., computer(s), computing device(s), virtual machine(s),etc. can cause the machine(s) to perform the operations described.System 100 can include memory 150 for storing computer executablecomponents and instructions. A processor 160 can facilitate operation ofthe computer executable components and instructions by the system 100.

In an embodiment, system 100 includes a print path discovery component110 and one or more printers 170. The one or more printers 170 caninclude any type of printer having various functionalities. In anaspect, the one or more printers can include a printer configured toperform automatic duplexing. As used herein, the term duplexing refersto printing on two sides of a sheet or printing double sided. In anotheraspect, the one or more printers can include a printer that is notconfigured to perform automatic duplexing. Systems and methods disclosedherein relate to discovery of a print path of the one or more printers170 such that a user can perform manual duplexing with the printer(regardless as to whether the printer is configured to perform automaticduplexing or not).

One or more components of print path discovery component 110 can beemployed in a printer 170 and/or in a computing device connected to orconfigured to connect to printer 170, either directly or indirectly viaanother device (e.g. a client device). The one or more printers canemploy any suitable means to connect to print path discovery component110. In an aspect, a printer 170 can connect to print path discovercomponent via a wired connection (e.g. using a printer cable or auniversal serial bus (USB) cable). In another aspect, a printer 170 canconnect to print path discovery component via a wireless connection(e.g. via a network or a short distance wireless technology). In anotheraspect, a printer may connect to a client device (not shown), eitherwirelessly or via a wired connection. In turn the print path discoverycomponent 110 may connect to the client device (e.g. via a network).

System 100 depicts memory 150 and processor 160 within the print pathdiscovery component 110, however system 100 (and additional systemsdisclosed herein), is not restricted to such a configuration. In anaspect, memory 150 and processor 160 can be associated with a devicethat employs print path discovery component 110. For example, print pathdiscovery component 110 can be employed in any suitable computing deviceconfigured to communicate with one or more printers 170. For example, asuitable computing device can include but is not limited a server, adesktop computer, a laptop computer, a smart-phone, a tablet personalcomputer (PC), a smart printer, or a PDA. In another aspect, print pathdiscovery component 110 can be employed within a printer 170.

In an aspect, a device employing print path discovery component 110 caninclude at least one input interface for interfacing with the print pathdiscovery component 110 (e.g. providing input to the print pathdiscovery component 110), and an output device, such as a displayscreen, speaker, and etc. for providing information to a user of theprint path discovery component 110. In an embodiment discussed infra,the print path discovery component is provided on a server and accessedvia a client device. According to this aspect, the client device caninclude hardware and software means for interfacing with the print pathdiscovery component 110.

In an embodiment, print path discovery component 110 can include aninstruction component 120, a response component 130, and an analysiscomponent 140. In an aspect, the instruction component 120 instructs auser (e.g. a printer 170) to print a first object on a first side of atest sheet. The instruction component 120 further instructs the user toreinsert the test sheet into the printing device, and instructs the userdevice to print a second object on the test sheet. The responsecomponent 130 receives information from the user indicating a locationof the second object with respect to the first object. An analysiscomponent 140 then determines the printing path of the printing devicebased on the information. As used herein, the term print path is used torefer to the manner in which a printer feeds a sheet through the printerand affixes an object (e.g. an image or text).

Instruction component 120 provides instructions that include varioussteps or actions for a user to perform in association with printing atest page and learning the results of the test page. In an embodiment,the instruction component can bypass user assistance and directlycommunicate one or more instructions to the printer. In an aspect, theinstruction component 120 instructs a user/printer to print a test pagein response to a request for a double sided printing job at a printer170. According to this aspect, prior to initiating the double sidedprinting job, the instruction component 120 instructs the user/printerto print a test page having a first object thereon. As discussed infra,the first object can include four boxes, one box in each of the fourcorners of the page.

In an aspect, the instruction component 120 can employ an output deviceassociated with the device in which the print path discovery component110 is employed to provide information and/or instructions to a user.For example, the instruction component may present a prompt at a displayscreen of a hosting device (e.g. a computer used to schedule the doublesided print job). The prompt can provide informing to a user that a userassisted manual duplexing configuration process is required orsuggested, prior to initiating the requested double sided print job. Theinstruction component 120 can further present a user with a step by stepinteractive series of prompts to assist the user in carrying out theconfiguration process. For example, the instruction component 120 maypresent a prompt that commands a user to print a test page at a printer170. In another example the instruction component 120 may present aprompt that provides a user with a command icon to select that initiatesprinting the test page in response to selection. In another example, theinstruction component 120 may merely indicate to a user that a test pagewill print in response to a command communicated to the printer via theprint path discovery component.

Once the test page is printed (for the first time), the instructioncomponent 120 then instructs the user to reprint the test page. Inparticular, the instruction component 120 can instruct the user to placethe printed test page back into the printer so that a second object canbe printed on the test page. The instructions can include details withhow the user should place the printed test page back into the loadingtray of the printer. For example, the instructions may tell the user toplace the printed page into the loading tray of the printer 170 suchthat the object is facing the user and located at the top end of thepage (i.e. not inverted). In an aspect, the instruction component 120can provide the user instructions via visual instructions (i.e. aninteractive prompt or an video). For example, the instruction component120 may provide a prompt with an image indicating the manner in whichthe user should place the printed test page back into the loading tray.In another aspect, the instruction component 120 can provide audibleinstructions (i.e. voice commands).

In an embodiment, the instruction component 120 can request the user toinitiate printing a second object on the test page as formatted by theprint path discovery component 110. In an aspect, the instructioncomponent 120 can request the user to press a print button on theprinter or a print icon associated with an interactive prompt, in orderto initiate printing a second object on the test page. In yet anotheraspect, the instruction component 120 can present a user with a promptasking if the printed test page has been correctly reinserted into theloading tray of the printer 170. In response to receipt of anaffirmative answer, the instruction component 120 can initiate printinga second object on the test page via sending a command to the printer170. The second object can include an X, a check mark, or any othersuitable mark, in a corner of the test page.

In an embodiment, response component 130 receives information from auser indicating a location of the first object with respect to thesecond object on the printed test sheet. For example, the instructioncomponent 120 and/or the response component 130 can present the userwith a question or a prompt asking the user to indicate where the firstobject is with respect to the second object. A user can further employan interfacing device associated with the device employing print pathdiscovery component 110, to provide the print path discovery component110 the information. For example, the interfacing device may include butis not limited to, a keyboard, a keypad, a mouse, a touch screen, acamera, a scanner, or a microphone.

In an aspect, the response component 130 may present the user with aseries of yes/no questions asking the user whether the first object islocated in a specific location with respect to the second object. Theresponse component 130 can stop the questioning in response to anaffirmative answer. In another example, the response component 130 maypresent a user with an interactive image and ask the user to select thelocation, on the image, of the first object with respect to the secondobject. It should be appreciated that a variety of mechanisms tofacilitate efficiently and effectively gathering information from theuser with minimal user effort are contemplated within the spirit of thesubject disclosure.

Once the response component 130 has received the information regardingthe location of the first object with respect to the second object onthe test page, the response component can provide the information to theanalysis component 140. Analysis component 140 employs the informationregarding the location of the first object with respect to the secondobject on the test page provided by the user in order to determine theprint path of the printer 170. Analysis component 140 can employ avariety of mechanisms in order to determine the print path of a printerbased on user provided information. In an aspect, the analysis component140 employs a look-up table storing information relating a location of afirst object to a location of a second object and a printer print path.In another example, the analysis component 140 can employ one or morealgorithms that equate the print path of a printer based on the userprovided location information.

According to an embodiment, print path discovery component 110 canemploy additional mechanisms in association with printing of a testpage, in order to determine the print path of a printer. According tothis embodiment, detection of a printers print path can be performed inan automated or semi-automated manner by print path discovery component110 in association with printing of the test page. In particular, printpath discovery component 110 can capitalize on one or more sensorsand/or hardware associated with a printer 170, a device employing printpath discovery component, or accessing print path discovery componentvia a network, to facilitate intelligent learning of printing mechanismsof the printer 170. The instruction component 120 can instruct thehardware and/or the user to employ the hardware, to perform actions thatgenerate additional information relating to the print path of a printerin association with printing a test page. In turn, the analysiscomponent 140 can employ the additional information to facilitatedetermining the printing path of the printer in an automated fashion.

In an aspect, one or more printers 170 can include a sensor component180. Sensor component 180 can include one or more sensors, including butnot limited to, a camera, a motion sensor, an acoustic sensor, avibration sensor, an optical sensor, pressure sensor, a chemical sensor,a thermal sensor. Further, sensor component 180 can include anyauxiliary hardware associated with a printer 170 capable of generatinginformation that can be utilized by print path discovery component 110to determine the printing path of the printer 170. For example, suchauxiliary hardware can include but is not limited to, a scanner, acopier, a faxing component, or a robotic arms device.

In an aspect, the instruction component 120 can instruct theuser/printer to initiate sensing component 180 to perform one or moreactions in association with printing a test page. The actions canfurther generate additional information that the user can observe andprovide to print path discovery component, and more particularly, thatthe printer can transmit to the print path discovery component 110. Forexample, the sensor component 180 may include a camera or scanner. Theinstruction component 120 can instruct a user to command the printer toperform actions utilizing the scanner and/or camera, and/or theinstruction component 120 can directly command the printer to performscanning or camera functions. The instructions can supplementinstructions for printing a test page. For example, the instructions caninclude instructions to scan the test page as it passed through theprint path when printing the second object (as some printers do in orderto detect paper type or to align print cartridges). In turn, the scannedimage can be provided to print path discovery component 110 and analysiscomponent 140 can utilize imaging analysis software to determine wherethe X mark is located.

In another aspect, the user could hold the twice printed test page up toa camera on the printer which can in turn present an image to the printpath discovery component. The analysis component 140 can further utilizeimaging analysis software to determine where the X is. It can further beappreciated that the camera can be provided on a device employing printpath discovery component 110 and/or a client device accessing a cloudbased server employing the print path discovery component. For example,the instruction component 120 can instruct the user to hold a twiceprinted page up to the camera located on the client device that is a webbased camera. The camera can then capture a live or still image of thetwice printed page and provide the image to the analysis component 140for analysis.

In another example, a three dimensional printer may have spin or rotatefunctions. In order to detect the manner in which a printer spins orrotates, the instruction component 120 may send the printer command toperform spinning or rotating further command a camera or sensorassociated with the printer to observe/record the mannerspinning/rotation. In another example, where printer include roboticarms to load print pages or perform other functions, the instructioncomponent 120 can send commands to initiate a motor mechanism used tomove the robotics arms. The movement of the robotic arms in response tothe command signals can be observed via cameras or motions sensorsassociated with the printer, and the information can be provided to theanalysis component 140. In turn, the analysis component 140 may employthe information to determine the printing path of the printer and/or themanner in which pages are loaded by the printer. In response todetermining the print path of a printer and/or additional informationregarding the printing mechanisms of a printer, the analysis component140 can provide the information to various systems that facilitatecarrying out printing jobs or operations with the printer. For example,the analysis component can provide the print path of the printer to anoperating system of a device requesting a double sided print job so thatthe operating system can configure a double sided printing job. Inanother aspect, the analysis component 140 can provide the print path toa software component that configures doubles sided print jobs requests.Still in yet another aspect, analysis component 140 can configure adouble sided print job request. Further, the analysis component 140 canprovide the information to various systems so that the systems caninstruct a user how to reinsert pages of a double sided print job inassociation with the ordering. For example, instructions may include“remove the paper from the output tray and place in the input traywithout rotating or flipping.” Similarly, the analysis component maydetermine and provide reinsertion instructions associated with a doublesided print job.

Configuration of a double sided print job includes determining an orderin which to print on pages as a function of the print path of theprinter and anticipation of reinsertion of pages into a printer in apredetermined manner. With manual duplexing, a printing job is dividedinto two portions. A first portion of the printing job is printed on afirst side of respective sheets and then the sheets are reinserted intothe printer for printing a second portion of the printing job onrespective second side of the sheets. When performing manual duplexing,the order in which the sheets are printed is determined so that theresulting final printed document is correctly ordered front to back onthe printed pages. Configuration of a double sided print job thereforerequires determining an order in which to print on pages. Furthermore,in more complex printing jobs, such as those requiring booklet printing,the configuration may further encompass the imposition of logical pagesinto a physical layout, such that the order, orientation, and placementof pages produces the desired final output when printed and assembledinto a booklet.

In an embodiment, analysis component 140 is further configured todetermine the manner in which a user should reinsert printed pages of afirst portion of a double sided print job such that the resultingdocument is printed with print on the front and back sides of the sheetin the proper orientation and order after the second portion of thedouble sided print job is carried out. For example, if the userincorrectly places printed pages back into the printer for printing onthe back sides thereof, the resulting document may have print on thesame side of the sheets (e.g. overlapping), print overlapping andinverted on the sheets, print on the front and back sides of the sheetsyet inverted with respect to the front, or print on the front and backsides of the sheets yet in an order that does not correspond to theprint on the front sides of the sheet.

Accordingly, the analysis component 140 may determine the printing orderfor a double sided print job and the manner in which a user shouldreinsert the sheets of the second portion of the double sided print job,based on the print path of the printer. For example, the manner ofreinsertion may be to place the pages of the second portion of the pagesinto the loading tray of the printer so that the non-printed side isfacing forward and so that the pages are inverted. The analysiscomponent 140, may employ information stored in memory 150 and/or one ormore preconfigured algorithms in order to determine the correct mannerof reinsertion of pages of a second portion of a double sided print job.

In an embodiment, the instruction component 120 can further instruct theuser how to reinsert pages of a second portion of a double sided printjob, as determined by the analysis component 140, based on the printpath of the printer. In particular, the instruction component 120 caninstruct the user how to reinsert one or more printed pages into theprinter, based on the printing path, so that the printer can perform asecond portion of a double sided printing job such that a first side ofthe one or more printed pages has print thereon in predeterminedorientation with respect to a second side of the one or more printedpages, wherein the one or more printed pages have print thereon as aresult of a first portion of the printing job.

In an aspect, the instruction component 120 can instruct a user how toreinsert pages prior to the initiation of the double sided print job. Inanother aspect, the instruction component 120 can instruct a user how toreinsert pages of a double sided print job after the first portion ofthe double sided print job is complete. The instruction component 120may employ a variety of mechanisms in order to provide reinsertioninstructions to a user. In an aspect, the instruction component 120 canprovide the user with a video or image prompt presenting imagesindicating the proper manner of insertion of pages.

In an embodiment, once the analysis component 140 has determined theprint path of a printer using the subject manual assisted configurationprocess, the analysis component 140 can store information in memory 150,or other memory (not shown) remote from print path discover component110. For example, the analysis component 140 can associate printeridentification information with a printers determined print path.Therefore, when the printer or similar printer is employed in thefuture, the print path discovery component 110 can merely provide thestored information indicating the print path.

Referring now to FIG. 2, illustrates a test page printouts and relatedinformation in accordance with one or more aspects for determining aprinting path of a printer. In an aspect, when a test page is firstprinted with a first object, the first object can include four boxes inthe respective corners of the page. As seen in FIG. 2, column 110presents four identical test pages printed with four boxes in therespective corners of the page. The boxes can be any suitable size. Inan aspect, the boxes have dimensions of one inch by one inch. The boxescan also include identifiers. For example, the boxes of the test pagesin column 110 of FIG. 2 include the letter A in the upper left handcorner box, the letter B in the upper right hand corner box, the letterC in the lower left hand corner box, and the letter D in the lower righthand corner box. The four boxes (e.g. the first object), are printed onthe front side of the test page.

After a test page is printed with the first object, (e.g. the fourboxes), the instruction component 120 can instruct a user to reinsertthe test page into the printer for printing of a second object. As seenin FIG. 2 the second object can include single X. The instructioncomponent 120 can be configured to instruct the printer to print an X inone of four corners of the test page, depending on the print path of theprinter. The instruction component 120 can further instruct the user toreinsert the test page into the printer in a predetermined manner. Forexample, the instruction component 120 can instruct a user to reinsertthe test page into the loading tray of the printer so that the fourboxes are facing the user or towards the front of the printer and sothat the box with the letter A is in the top right corner.

In an aspect, the analysis component 140 determines the print path of aprinter based on user provided information indicating the location of anX following a reprint of the test page with respect to the four boxes.In another aspect, the analysis component 140 can observe the locationof X following a reprint of the test page via an image provided by ascanner, or a camera. According to this aspect, there are fourpossibilities of print paths corresponding to a two by two matrix of twofactors. The factor is that the printer prints on the front of eachsheet verses the back (e.g. a first side verses a second side). Thesecond factor is that the printer inverts the printout verses does notinvert.

Column 120 depicts the test page after it has been reprinted or printedwith the second object. Reprinted test page 122 depicts the front sideof the test page. Reprinted test page 122 includes an X in the box withthe letter A. In an aspect, when a reprinted test page includes an X inthe box with the letter A, the analysis component 140 determines thatthe print path includes the printer printing on the front side of thepage and does not invert. Reprinted test page 124 depicts the front sideof the test page. Reprinted test page 124 includes an X in the box withthe letter D. In an aspect, when a reprinted test page includes an X inthe box with the letter D, the analysis component 140 determines thatthe print path includes the printer printing on the front side of thepage and does invert. Reprinted test page 126 depicts the back side ofthe test page. Reprinted test page 126 includes an X in the box with theletter B. In an aspect, when a reprinted test page includes an X in thebox with the letter B, the analysis component 140 determines that theprint path includes the printer printing on the back side of the pageand does not invert. Reprinted test page 128 depicts the back side ofthe test page. Reprinted test page 128 includes an X in the box with theletter C. In an aspect, when a reprinted test page includes an X in thebox with the letter C, the analysis component 140 determines that theprint path includes the printer printing on the back side of the pageand inverts.

Referring now to FIG. 3, presented is another exemplary high level blockdiagram of a system 300 for determining the printing path of a printervia a print path discovery component 110 provided at a networked server.System 300 depicts printer service server 310 that comprises print pathdiscovery component 110. System 300 further depicts a client device 350that communicates with print printing server 310 via a network 340.Network 340 can include any suitable network that enables communicationbetween printing service server 310, client device 350, and one or moreprinters 170. For example, the network 340 can include the Internet, anintranet, or a cellular service. In addition, print path discoverycomponent 110 can include a communication component 330 and a requestcomponent 320. In an aspect, network 340 can be employed bycommunication component 330 to enable wireless communication betweenprinting service server 310 employing print path discovery component 110and a client device 350. In addition, in an aspect, client device 350can employ network 340 to communicate with one or more printers 170, andprinting service server 310 can employ network 340 to communicate withone or more printers 170.

System 300 depicts an embodiment where print path discovery is performedat a cloud deployed server where the server is not directly connected tothe users printer. Rather, a user interacts with a print path discoveryserver via a client device 350 (e.g. through a browser 340) thatconnects to the printer. Client device 350 can include any suitablecomputing device, including but is not limited a desktop computer, alaptop computer, a smart-phone, a tablet personal computer (PC), or aPDA. The cloud based server 310 is responsible for rendering the printjob and determining how to render the two parts of the job so that itresults in a properly formatted duplex job. According to this aspect,the print path discovery component does not need to have a directconnection to the one or more printer 170 in order to determine theprinting path of the one or more printers. Instead, the print pathdiscovery is dependent on the printer service server employing the printpath discovery component to send instructions to a client device 350 forthe printing of a test page which the client device 350 thencommunicates to the one or more printers. Upon learning the printingpath of the printer 170, the printing service server can then format adouble sided print job and provide a user at client device 350 withinstructions for loading pages of a second portion of the double sidedprint job.

To facilitate performance and scheduling of manual duplex jobs over anetwork 340, print path discovery component 110 can also include requestcomponent 320. Request component 210 can receive requests for doublesided printing jobs from a client device 350 via the network 340. In anaspect, the request component 320 can receive a request for a doublesided printing job from a device connected or configured to connect to,one or more printers 170. In an embodiment, in response to receipt of arequest for a double sided printing job, the request component 320 candetermine if one or more printers connected to client device 350 provideautomatic duplexing. If a printer does not provide automatic duplexing,the request component 320 can ask the user, via a prompt, if the userwould like to perform manual duplexing using a printer 170. In turn, toan affirmative answer, the instruction component 120 can initiate thesubject manual duplexing configuration process. In another aspect, therequest component 320 may receive a request for a double sided print jobfrom a client device 350 for which a user desires manual duplexing. Inparticular, the request may indicate that manual duplexing is desired.According to this aspect, the instruction component 120 can initiate thesubject manual duplexing configuration process in response to therequest.

In particular, the printer service server 310 can employ print pathdiscovery component 110 to communicate instructions to a user at aclient device. In turn, the user and/or client device can perform theinstructions provided by the printing server 310 and communicateresponses to the response component 130 via the network 340. Forexample, the instruction component 120 can provide instructions, such asthose discussed supra, for printing and reprinting a test page, as aseries of prompts in a browser at the client device 350. The user canfurther provide the response component 130 information throughinteraction with the printing server 310 at the browser (e.g. via aninput device at the client device 350).

In an aspect, the client device 350 can communicate commands to theprinter 170 provided by the printing server 310. For example, the printpath discovery component 110 can instruct, via instruction component, auser to print a test page with the four boxes as configured by printpath discovery component. However, in an aspect, the printing server caninstruct the client device to initiate printing of the test page at theacquiescence of the user. In another, example, the client device 350 cancommunicate a command to scan a twice printed test page and send thescanned image to the printing server 310 for analysis. It should beappreciated that the client device 350 can communicate any type ofcommand to a printer 170 provided by the printing server 310 that mayfacilitate discovery of printing path information, including commands toperform actions discussed infra that direct sensor component 180.Further, the client device, user of the client device, or printer itself170, may communicate responses to such actions to printing service 310via the network.

FIGS. 4-5 illustrate methodologies or flow diagrams in accordance withcertain aspects of this disclosure. While, for purposes of simplicity ofexplanation, the methodologies are shown and described as a series ofacts, the disclosed subject matter is not limited by the order of acts,as some acts may occur in different orders and/or concurrently withother acts from that shown and described herein. For example, thoseskilled in the art will understand and appreciate that a methodology canalternatively be represented as a series of interrelated states orevents, such as in a state diagram. Moreover, not all illustrated actsmay be required to implement a methodology in accordance with thedisclosed subject matter. Additionally, it is to be appreciated that themethodologies disclosed in this disclosure are capable of being storedon an article of manufacture to facilitate transporting and transferringsuch methodologies to computers or other computing devices.

An example methodology 400 for determining the printing path of aprinter as described herein is presented in FIG. 4. In an aspect, inexemplary methodology 400, a print path discovery component/system isstored in a memory and utilizes a processor to execute computerexecutable instructions to perform functions. Reference is made to thefigures described above for ease of description. However, the method 400is not limited to any particular embodiment or example provided withinthis disclosure.

At 402, a user is instructed to print a first object on a first side ofa test sheet. For example, the user can be instructed to print a testsheet comprising four boxes, one in each of the respective corners ofthe test page. Each of the boxes can further have identifiers therein,such as different letters of the alphabet. At 404, the user isinstructed to reinsert the test sheet in the printing device. Forexample, the user can be instructed to place the test sheet in a loadingtray of the printer in a predetermined manner (e.g. print side up, notinverted). At 406, the user is instructed to print a second object onthe test sheet. For example, the user can be instructed to print an Xmark or a check mark on the test sheet in a corner of the test sheet. At408, information is received from the user indicating a location of thesecond object with respect to the first object. For example, the usermay provide information indicating that the X mark is located in a boxhaving the letter A. Then, at 410, the printing path of the printingdevice is determined based on the information.

Another example methodology 500 determining for the printing path of aprinter as described herein is presented in FIG. 5. In an aspect, inexemplary methodology 500, a print path discovery component/system isstored in a memory and utilizes a processor to execute computerexecutable instructions to perform functions. Reference is made to thefigures described above for ease of description. However, the method 500is not limited to any particular embodiment or example provided withinthis disclosure.

At 502, a request for a manual double sided print job is received from adevice over a network. At 504, instructions are provided to the device,via the network, in response to the request. The instruction caninclude: prompting a user of the device to print a test sheet at aprinter connected to the device, the test page comprising a first objectat 506; instructing the user to reinsert the test sheet into the printerat 508; and prompting the user to print a second object on the testsheet with the printer at 510. Then at 512, information is received fromthe device via the network. The information can be provided the user ora web based camera at the device for example, and include informationindicating a location of the second object with respect to the firstobject. At 514, the printing path of the printer is determined based onthe information. At 516, the manual double sided printing job isconfigured for printing at the printer such that the printed pages ofthe double sided printing job are correctly orientated and ordered. Theconfigured printing job can further be communicated to the device and/orthe printer via the network.

Many variations and modifications can be made to the above-describedexamples. All such modifications and variations are intended to beincluded herein within the scope of the disclosure and protected by thefollowing claims. It will be noted that the singular forms “a,” “an,”and “the” include plural references unless the context clearly indicatesotherwise.

What is claimed is:
 1. A method comprising: using at least onemicroprocessor to execute computer executable instructions stored on atleast one non-transitory computer readable medium to perform thefollowing acts: outputting an instruction to instruct a user to print afirst object on a first side of a test sheet on a printing device;outputting an instruction to instruct the user to reinsert the testsheet in the printing device; outputting an instruction to instruct theuser to print a second object on the test sheet; receiving locationinformation indicating a location of the second object with respect to alocation of the first object on the test sheet; and determining aprinting path of the printing device based on the location information,wherein the printing path comprises a manner in which the printingdevice is to feed a sheet of paper through the printing device and affixan object onto the sheet of paper.
 2. The method of claim 1, wherein thedetermining the printing path includes determining whether the printingdevice inverts a page prior to printing on the page.
 3. The method ofclaim 1, wherein the determining the printing path includes determiningwhether the printing device prints on a front side of a page or a backside of a page.
 4. The method of claim 1, further comprising: based onthe printing path, outputting an instruction to instruct the user how toreinsert one or more printed pages into the printing device to so thatthe printing device can perform a second portion of a double sidedprinting job such that a first side of the one or more printed pages hasprint thereon in predetermined orientation with respect to a second sideof the one or more printed pages, wherein the one or more printed pageshave print thereon as a result of a first portion of the printing job.5. The method of claim 1, further comprising: determining a printingorder to apply to a printing job requesting double sided printing basedon the printing path.
 6. The method of claim 1, further comprising:providing the instructions to the user at a client device via a networkand receiving the information from the user via the network as input tothe client device.
 7. A system comprising: a memory having storedthereon computer executable components; and a processor to execute thefollowing computer executable components stored in the memory: a printpath discovery component comprising: an instruction component thatprovides instructions to a client device via a network, the instructionsprompting a user to print at a printer connected to the client device, atest sheet comprising a first object on a first side, the instructionsfurther prompting the user to reinsert the test sheet into the printerand to print a second object on the test sheet; a response componentthat receives location information from the client device indicating alocation of the second object with respect to a location of the firstobject on the test sheet; and an analysis component that determines aprinting path of the printer based on the location information, whereinthe printing path comprises a manner in which the printer is to feed asheet of paper through the printer and affix an object onto the sheet ofpaper.
 8. The system of claim 7, wherein the analysis componentdetermines whether the printer inverts a page prior to printing on thepage.
 9. The system of claim 7, wherein the analysis componentdetermines whether the printer prints on a front side of a page or aback side of a page.
 10. The system of claim 7, wherein the analysiscomponent configures a double sided printing job based on the printingpath and wherein the instruction component further provides instructionsto the client device via the network that instructs the user how toreinsert one or more printed pages into the printer, based on theprinting path, so that the printer can perform a second portion of thedouble sided printing job such that a first side of the one or moreprinted pages has print thereon in predetermined orientation withrespect to a second side of the one or more printed pages, wherein theone or more printed pages have print thereon as a result of a firstportion of the printing job.
 11. The system of claim 7, wherein theanalysis component further determines a printing order to apply to aprinting job requesting double sided printing based on the printingpath.
 12. The system of claim 7, further comprising: a communicationcomponent that communicates the instructions to the client device viathe network.
 13. The system of claim 12, further comprising: a requestcomponent that receives a request over the network from the clientdevice for a double sided printing job, wherein the instructioncomponent provides the instructions in response to the request.
 14. Anon-transitory computer readable medium storing thereon machine readableinstructions, which when executed cause a processor to: provideinstructions to a client device over a network, the instructionsprompting a user to print at a printer connected to the client device, atest sheet comprising a first object on a first side, the instructionsfurther prompting the user to reinsert the test sheet into the printerand to print a second object on the test sheet; receive locationinformation from the client device indicating a location of the secondobject with respect to a location of the first object on the test sheet;and determine a printing path of the printer based on the locationinformation, wherein the printing path comprises a manner in which theprinter is to feed a sheet of paper through the printer and affix anobject onto the sheet of paper.
 15. The non-transitory computer readablemedium of claim 14, wherein the machine readable instructions furthercause the processor to: configure a manual double sided printing job forprinting at the printer such that printed pages of the manual doublesided printing job are correctly orientated and ordered; and communicatethe double sided print job to the client device via the network.